package javasy;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class calculator extends JFrame{
	public JTextField jtf=new JTextField(100);
	public JPanel jp1;
	public JPanel jp2;
	public JButton jbt[]=new JButton[22];
        public String s2="";
	public calculator(){
		jtf.setSize(500,35);
		jtf.setLocation(0,25);
		JFrame jfm=new JFrame("计算器");
		jfm.setSize(500,340);
		jfm.setLayout(null);
	jp1=new JPanel();
	jp1.setBounds(0,60,500,40);
	jp2=new JPanel();
	jp2.setBounds(0,100,500,200);
	GridLayout gl1=new GridLayout(1,2);
	GridLayout gl2=new GridLayout(5,4);
	jp1.setLayout(gl1);
	jp2.setLayout(gl2);
        for(int i=0;i<=9;i++)
        	jbt[i]=new JButton(""+i);
        JMenu jm1=new JMenu("文件");
        JMenu jm2=new JMenu("帮助");
        JMenuItem ji1=new JMenuItem("退出");
        JMenuItem ji2=new JMenuItem("关于");
        JMenuBar bar=new JMenuBar();
        bar.add(jm1);
        bar.add(jm2);
        jm1.add(ji1);
        jm2.add(ji2);
        jfm.setJMenuBar(bar);
        ji1.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                System.exit(0);
            }
        });
        ji2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                JOptionPane.showMessageDialog(null,"2013020100019 黄春超制作（具体结构和算法还没想好，所以只交了面板)");
            }
        });
        jbt[10]=new JButton("Back");
        jbt[11]=new JButton("C");
        jbt[12]=new JButton("/");
        jbt[13]=new JButton("*");
        jbt[14]=new JButton("-");
        jbt[15]=new JButton("+");
        jbt[21]=new JButton("=");
        jbt[17]=new JButton("sqrt");
        jbt[18]=new JButton("%");
        jbt[19]=new JButton("1/x");
        jbt[20]=new JButton(".");
        jbt[16]=new JButton("+/-");
        jp1.add(jbt[10]);
        jp1.add(jbt[11]);
        jp2.add(jbt[7]);
        jp2.add(jbt[8]);
        jp2.add(jbt[9]);
        jp2.add(jbt[12]);
        jp2.add(jbt[4]);
        jp2.add(jbt[5]);
        jp2.add(jbt[6]);
        jp2.add(jbt[13]);
        jp2.add(jbt[1]);
        jp2.add(jbt[2]);
        jp2.add(jbt[3]);
        jp2.add(jbt[14]);
        jp2.add(jbt[0]);
        jp2.add(jbt[21]);
        jp2.add(jbt[20]);
        jp2.add(jbt[15]);
        jp2.add(jbt[19]);
        jp2.add(jbt[18]);
        jp2.add(jbt[17]);
        jp2.add(jbt[16]);
	jfm.add(jp1);
	jfm.add(jp2);
	jfm.add(jtf);
        for(int i=0;i<21;i++)
            jbt[i].addActionListener(new MyActListener());
	jfm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	jfm.setResizable(false);
	jfm.setVisible(true);	
	}
        class MyActListener implements ActionListener{
            public void actionPerformed(ActionEvent e){ 
              String s1=((AbstractButton)e.getSource()).getText();
              jtf.setText(s2+s1);
              s2=jtf.getText();
     }
 }
public static void main(String[] args){
	calculator ca=new calculator();
}
}
